package com.nami.ucenter.facade.login.request.command;

import cn.hutool.core.util.ObjectUtil;
import lombok.Data;
import org.apache.commons.lang3.StringUtils;

@Data
public class UserLoginCmd {

    /**
     * appKey
     */
    private String appKey;

    /**
     * userNo
     */
    private String userId;

    /**
     * token
     */
    private String token;

    /**
     * 登录平台
     */
    private String platform;

    /**
     * 客户端系统
     */
    private String systemOs;

    /**
     * fingerprint
     */
    private String tempFingerprint;

    /**
     * 本机唯一标识。
     * 本机ip + 端口
     * 127.0.0.1:23
     */
    private String connectId;

    /**
     * 客户端实例id
     */
    private String instanceId;

    /**
     * 现在的channel ip
     */
    private String clientIp;

    /**
     * dubboIp
     */
    private String dubboIp;

    /**
     * dubboPort
     */
    private int dubboPort;

    /**
     * 发送消息时间
     */
    private Long currTime;


    public boolean validateBasic() {
        return this.getCurrTime() != null &&
            StringUtils.isNotBlank(this.userId) &&
            StringUtils.isNotBlank(this.appKey) &&
            StringUtils.isNotBlank(this.platform) &&
            StringUtils.isNotBlank(this.instanceId);
    }

}
